home *** CD-ROM | disk | FTP | other *** search
- Frequently Asked Questions (FAQS);faqs.018
-
-
-
- A third source of information is the monthly Virus Bulletin, published
- in the UK. Among other things, it gives detailed technical
- information on viruses (see also A9 below). Unfortunately, it is very
- expensive (the subscription price is $395 per year). US subscriptions
- can be obtained by calling 203-431-8720 or writing to 590 Danbury
- Road, Ridgefield, CT 06877; for European subscriptions, the number is
- +44-235-555139 and the address is: The Quadrant, Abingdon, OX14 3YS,
- England.
-
- A fourth good source of information on DOS viruses is the "Computer
- Viruses" report of the National/International Computer Security
- Association. This is updated regularly, and is fairly complete.
- Copies cost approximately $75, and can be ordered by calling +1-
- 202-244-7875. ICSA/NCSA also publishes the monthly "Virus News and
- Reviews" and other publications.
-
- Another source of information is the documentation of Dr. Solomon's
- Anti-Virus ToolKit. It is more complete than the CVC list, just as
- accurate (if not more), but lists only DOS viruses. However, it is
- not available electronically; you must buy his anti-virus package and
- the virus information is part of the documentation.
-
- Yet another source of information is "Virus News International",
- published by S & S International. And, while not entirely virus-
- related, "Computers & Security" provides information on many
- aspects of computer security, including viruses.
-
- The best source of information available on Apple Macintosh viruses is
- the on-line documentation provided with the freeware Disinfectant
- program by John Norstad. This is available at most Mac archive sites.
-
-
- A8) Where can I get free or shareware anti-virus programs?
-
- The VIRUS-L/comp.virus archive sites carry publicly distributable
- anti-virus software products. See a recent listing of the archive
- sites (or ask the moderator for a recent listing) for more information
- on these sites.
-
- Many freeware/shareware anti-virus programs for DOS are available via
- anonymous FTP on WSMR-SIMTEL20.ARMY.MIL (192.88.110.20), in the
- directory PD1:<MSDOS.TROJAN-PRO>. Note that the SIMTEL20 archives
- are also "mirrored" at many other anonymous FTP sites, including
- oak.oakland.edu (141.210.10.117, pub/msdos/trojan-pro),
- wuarchive.wustl.edu (128.252.135.4, /mirrors/msdos/trojan-pro),
- and nic.funet.fi (128.214.6.100, /pub/msdos/utilities/trojan-pro).
- They can also be obtained via e-mail in uuencoded form from various
- TRICKLE sites, especially in Europe.
-
- Likewise, Macintosh anti-virus programs can be found on SIMTEL20 in
- the PD3:<MACINTOSH.VIRUS> directory.
-
- A list of many anti-viral programs, incl. commercial products and one
- person's rating of them, can be obtained by anonymous ftp from
- cert.org (192.88.209.5) in pub/virus-l/docs/reviews as file
- slade.quickref.rvw.
-
-
- A9) Where can I get more information on viruses, etc.?
-
- There are four excellent books on computer viruses available that
- should cover most of the introductory and technical questions you
- might have:
-
- * "Computers Under Attack: Intruders, Worms and Viruses," edited by
- Peter J. Denning, ACM Press/Addison-Wesley, 1990. This is a book of
- collected readings that discuss computer viruses, computer worms,
- break-ins, legal and social aspects, and many other items related to
- computer security and malicious software. A very solid, readable
- collection that doesn't require a highly-technical background.
- Price: $20.50.
-
- * "Rogue Programs: Viruses, Worms and Trojan Horses," edited by
- Lance J. Hoffman, Van Nostrand Reinhold, 1990. This is a book of
- collected readings describing in detail how viruses work, where they
- come from, what they do, etc. It also has material on worms, trojan
- horse programs, and other malicious software programs. This book
- focuses more on mechanism and relatively less on social aspects than
- does the Denning book; however, there is an excellent piece by Anne
- Branscomb that covers the legal aspects. Price: $32.95.
-
- * "A Pathology of Computer Viruses," by David Ferbrache,
- Springer-Verlag, 1992. This is a recent, in-depth book on the
- history, operation, and effects of computer viruses. It is one of the
- most complete books on the subject, with an extensive history section,
- a section on Macintosh viruses, network worms, and Unix viruses (if
- they were to exist).
-
- * "A Short Course on Computer Viruses", by Dr. Fred B. Cohen, ASP
- Press, 1990. This book is by a well-known pioneer in virus research,
- who has also written dozens of technical papers on the subject. The
- book can be obtained by writing to ASP Press, P.O. Box 81270,
- Pittsburgh, PA 15217. Price: $24.00.
-
- A somewhat dated, but still useful, high-level description of viruses,
- suitable for a complete novice without extensive computer background
- is in "Computer Viruses: Dealing with Electronic Vandalism and
- Programmed Threats," by Eugene H. Spafford, Kathleen A. Heaphy, and
- David J. Ferbrache, ADAPSO (Arlington VA), 1989. ADAPSO is a
- computer industry service organization and not a publisher, so the
- book cannot be found in bookstores; copies can be obtained directly
- from ADAPSO @ +1 703-522-5055). There is a discount for ADAPSO
- members, educators, and law enforcement personnel. Many people have
- indicated they find this a very understandable reference; portions of
- it have been reprinted many other places, including Denning &
- Hoffman's books (above).
-
- It is also worth consulting various publications such as _Computers &
- Security_ (which, while not restricted to viruses, contains many of
- Cohen's papers) and the _Virus Bulletin_ (published in the UK; its
- technical articles are considered good, although there has been much
- criticism in VIRUS-L of some of its product evaluations).
-
-
- ======================================================
- = Section B. Definitions and General Information =
- ======================================================
-
- B1) What are computer viruses (and why should I worry about them)?
-
- According to Fred Cohen's well-known definition, a COMPUTER VIRUS is a
- computer program that can infect other computer programs by modifying
- them in such a way as to include a (possibly evolved) copy of itself.
- Note that a program does not have to perform outright damage (such as
- deleting or corrupting files) in order to to be called a "virus".
- However, Cohen uses the terms within his definition (e.g. "program"
- and "modify") a bit differently from the way most anti-virus
- researchers use them, and classifies as viruses some things which most
- of us would not consider viruses.
-
- Many people use the term loosely to cover any sort of program that
- tries to hide its (malicious) function and tries to spread onto as
- many computers as possible. (See the definition of "Trojan".) Be
- aware that what constitutes a "program" for a virus to infect may
- include a lot more than is at first obvious - don't assume too much
- about what a virus can or can't do!
-
- These software "pranks" are very serious; they are spreading faster
- than they are being stopped, and even the least harmful of viruses
- could be fatal. For example, a virus that stops your computer and
- displays a message, in the context of a hospital life-support
- computer, could be fatal. Even those who created the viruses could
- not stop them if they wanted to; it requires a concerted effort from
- computer users to be "virus-aware", rather than the ignorance and
- ambivalence that have allowed them to grow to such a problem.
-
-
- B2) What is a Trojan Horse?
-
- A TROJAN HORSE is a program that does something undocumented which the
- programmer intended, but that the user would not approve of if he knew
- about it. According to some people, a virus is a particular case of a
- Trojan Horse, namely one which is able to spread to other programs
- (i.e., it turns them into Trojans too). According to others, a virus
- that does not do any deliberate damage (other than merely replicating)
- is not a Trojan. Finally, despite the definitions, many people use
- the term "Trojan" to refer only to a *non-replicating* malicious
- program, so that the set of Trojans and the set of viruses are
- disjoint.
-
-
- B3) What are the main types of PC viruses?
-
- Generally, there are two main classes of viruses. The first class
- consists of the FILE INFECTORS which attach themselves to ordinary
- program files. These usually infect arbitrary .COM and/or .EXE
- programs, though some can infect any program for which execution is
- requested, such as .SYS, .OVL, .PRG, & .MNU files.
-
- File infectors can be either DIRECT ACTION or RESIDENT. A direct-
- action virus selects one or more other programs to infect each time
- the program which contains it is executed. A resident virus hides
- itself somewhere in memory the first time an infected program is
- executed, and thereafter infects other programs when *they* are
- executed (as in the case of the Jerusalem) or when certain other
- conditions are fulfilled. The Vienna is an example of a direct-action
- virus. Most other viruses are resident.
-
- The second category is SYSTEM or BOOT-RECORD INFECTORS: those viruses
- which infect executable code found in certain system areas on a disk
- which are not ordinary files. On DOS systems, there are ordinary
- boot-sector viruses, which infect only the DOS boot sector, and MBR
- viruses which infect the Master Boot Record on fixed disks and the DOS
- boot sector on diskettes. Examples include Brain, Stoned, Empire,
- Azusa, and Michelangelo. Such viruses are always resident viruses.
-
- Finally, a few viruses are able to infect both (the Tequila virus is
- one example). These are often called "MULTI-PARTITE" viruses, though
- there has been criticism of this name; another name is "BOOT-AND-FILE"
- virus.
-
- FILE SYSTEM or CLUSTER viruses (e.g. Dir-II) are those which modify
- directory table entries so that the virus is loaded and executed
- before the desired program is. Note that the program itself is not
- physically altered, only the directory entry is. Some consider these
- infectors to be a third category of viruses, while others consider
- them to be a sub-category of the file infectors.
-
-
- B4) What is a stealth virus?
-
- A STEALTH virus is one which hides the modifications it has made in
- the file or boot record, usually by monitoring the system functions
- used by programs to read files or physical blocks from storage media,
- and forging the results of such system functions so that programs
- which try to read these areas see the original uninfected form of the
- file instead of the actual infected form. Thus the viral modifications
- go undetected by anti-viral programs. However, in order to do this,
- the virus must be resident in memory when the anti-viral program is
- executed.
-
- Example: The very first DOS virus, Brain, a boot-sector infector,
- monitors physical disk I/O and re-directs any attempt to read a
- Brain-infected boot sector to the disk area where the original boot
- sector is stored. The next viruses to use this technique were the
- file infectors Number of the Beast and Frodo (= 4096 = 4K).
-
- Countermeasures: A "clean" system is needed so that no virus is
- present to distort the results. Thus the system should be built from
- a trusted, clean master copy before any virus-checking is attempted;
- this is "The Golden Rule of the Trade." With DOS, (1) boot from
- original DOS diskettes (i.e. DOS Startup/Program diskettes from a
- major vendor that have been write-protected since their creation);
- (2) use only tools from original diskettes until virus-checking has
- completed.
-
-
- B5) What is a polymorphic virus?
-
- A POLYMORPHIC virus is one which produces varied (yet fully
- operational) copies of itself, in the hope that virus scanners (see
- D1) will not be able to detect all instances of the virus.
-
- One method to evade signature-driven virus scanners is self-encryption
- with a variable key; however these viruses (e.g. Cascade) are not
- termed "polymorphic," as their decryption code is always the same and
- thus can be used as a virus signature even by the simplest, signature-
- driven virus scanners (unless another virus or program uses the
- identical decryption routine).
-
- One method to make a polymorphic virus is to choose among a variety of
- different encryption schemes requiring different decryption routines:
- only one of these routines would be plainly visible in any instance of
- the virus (e.g. the Whale virus). A signature-driven virus scanner
- would have to exploit several signatures (one for each possible
- encryption method) to reliably identify a virus of this kind.
-
- A more sophisticated polymorphic virus (e.g. V2P6) will vary the
- sequence of instructions in its copies by interspersing it with
- "noise" instructions (e.g. a No Operation instruction, or an
- instruction to load a currently unused register with an arbitrary
- value), by interchanging mutually independent instructions, or even by
- using various instruction sequences with identical net effects (e.g.
- Subtract A from A, and Move 0 to A). A simple-minded, signature-based
- virus scanner would not be able to reliably identify this sort of
- virus; rather, a sophisticated "scanning engine" has to be constructed
- after thorough research into the particular virus.
-
- The most sophisticated form of polymorphism discovered so far is the
- MtE "Mutation Engine" written by the Bulgarian virus writer who calls
- himself the "Dark Avenger". It comes in the form of an object module.
- Any virus can be made polymorphic by adding certain calls to the
- assembler source code and linking to the mutation-engine and
- random-number-generator modules.
-
- The advent of polymorphic viruses has rendered virus-scanning an ever
- more difficult and expensive endeavor; adding more and more search
- strings to simple scanners will not adequately deal with these
- viruses.
-
-
- B6) What are fast and slow infectors?
-
- A typical file infector (such as the Jerusalem) copies itself to
- memory when a program infected by it is executed, and then infects
- other programs when they are executed.
-
- A FAST infector is a virus which, when it is active in memory, infects
- not only programs which are executed, but even those which are merely
- opened. The result is that if such a virus is in memory, running a
- scanner or integrity checker can result in all (or at least many)
- programs becoming infected all at once. Examples are the Dark Avenger
- and the Frodo viruses.
-
- The term "SLOW infector" is sometimes used for a virus which, if it is
- active in memory, infects only files as they are modified (or
- created). The purpose is to fool people who use integrity checkers
- into thinking that the modification reported by the integrity checker
- is due solely to legitimate reasons. An example is the Darth Vader
- virus.
-
-
- B7) What is a sparse infector?
-
- The term "SPARSE infector" is sometimes given to a virus which
- infects only occasionally, e.g. every 10th executed file, or only
- files whose lengths fall within a narrow range, etc. By infecting
- less often, such viruses try to minimize the probability of being
- discovered by the user.
-
-
- B8) What is a companion virus?
-
- A COMPANION virus is one which, instead of modifying an existing file,
- creates a new program which (unknown to the user) gets executed by the
- command-line interpreter instead of the intended program. (On exit,
- the new program executes the original program so that things will
- appear normal.) The only way this has been done so far is by creating
- an infected .COM file with the same name as an existing .EXE file.
- Note that those integrity checkers which look only for *modifications*
- in *existing* files will fail to detect such viruses.
-
- (Note that not all researchers consider this type of malicious code
- to be a virus, since it does not modify existing files.)
-
-
- B9) What is an armored virus?
-
- An ARMORED virus is one which uses special tricks to make the tracing,
- disassembling and understanding of their code more difficult. A good
- example is the Whale virus.
-
-
- B10) Miscellaneous Jargon and Abbreviations
-
- BSI = Boot Sector Infector: a virus which takes control when the
- computer attempts to boot (as opposed to a file infector).
-
- CMOS = Complementary Metal Oxide Semiconductor: A memory area that is
- used in AT and higher class PCs for storage of system information.
- CMOS is battery backed RAM (see below), originally used to maintain
- date and time information while the PC was turned off. CMOS memory
- is not in the normal CPU address space and cannot be executed. While
- a virus may place data in the CMOS or may corrupt it, a virus cannot
- hide there.
-
- DOS = Disk Operating System. We use the term "DOS" to mean any of the
- MS-DOS, PC-DOS, or DR DOS systems for PCs and compatibles, even
- though there are operating systems called "DOS" on other (unrelated)
- machines.
-
- MBR = Master Boot Record: the first Absolute sector (track 0, head 0,
- sector 1) on a PC hard disk, that usually contains the partition table
- (but on some PCs may simply contain a boot sector). This is not the
- same as the first DOS sector (Logical sector 0).
-
- RAM = Random Access Memory: the place programs are loaded into in
- order to execute; the significance for viruses is that, to be active,
- they must grab some of this for themselves. However, some virus
- scanners may declare that a virus is active simply when it is found
- in RAM, even though it might be simply left over in a buffer area of
- RAM rather than truly being active.
-
- TOM = Top Of Memory: the end of conventional memory, an architectural
- design limit at the 640K mark on most PCs. Some early PCs may not
- be fully populated, but the amount of memory is always a multiple of
- 64K. A boot-record virus on a PC typically resides just below this
- mark and changes the value which will be reported for the TOM to the
- location of the beginning of the virus so that it won't get
- overwritten. Checking this value for changes can help detect a
- virus, but there are also legitimate reasons why it may change (see
- C11). A very few PCs with unusual memory managers/settings may
- report in excess of 640K.
-
- TSR = Terminate but Stay Resident: these are PC programs that stay in
- memory while you continue to use the computer for other purposes;
- they include pop-up utilities, network software, and the great
- majority of viruses. These can often be seen using utilities such as
- MEM, MAPMEM, PMAP, F-MMAP and INFOPLUS.
-
-
- =================================
- = Section C. Virus Detection =
- =================================
-
- C1) What are the symptoms and indications of a virus infection?
-
- Viruses try to spread as much as possible before they deliver their
- "payload", but there can be symptoms of virus infection before this,
- and it is important to use this opportunity to spot and eradicate the
- virus before any destruction.
-
- There are various kinds of symptoms which some virus authors have
- written into their programs, such as messages, music and graphical
- displays. However, the main indications are changes in file sizes and
- contents, changing of interrupt vectors or the reassignment of other
- system resources. The unaccounted use of RAM or a reduction in the
- amount known to be in the machine are important indicators. The
- examination of the code is valuable to the trained eye, but even the
- novice can often spot the gross differences between a valid boot
- sector and an infected one. However, these symptoms, along with
- longer disk activity and strange behavior from the hardware, can also
- be caused by genuine software, by harmless "prank" programs, or by
- hardware faults.
-
- The only foolproof way to determine that a virus is present is for an
- expert to analyze the assembly code contained in all programs and
- system areas, but this is usually impracticable. Virus scanners go
- some way towards that by looking in that code for known viruses; some
- will even try to use heuristic means to spot viral code, but this is
- not always reliable. It is wise to arm yourself with the latest
- anti-viral software, but also to pay close attention to your system;
- look particularly for any change in the memory map or configuration as
- soon as you start the computer. For users of DOS 5.0, the MEM program
- with the /C switch is very handy for this. If you have DRDOS, use MEM
- with the /A switch; if you have an earlier version, use CHKDSK or the
- commonly-available PMAP or MAPMEM utilities. You don't have to know
- what all the numbers mean, only that they change. Mac users have
- "info" options that give some indication of memory use, but may need
- ResEdit for more detail.
-
-
- C2) What steps should be taken in diagnosing and identifying viruses?
-
- Most of the time, a virus scanner program will take care of that for
- you. (Remember, though, that scanning programs must be kept up to
- date. Also remember that different scanner authors may call the same
- virus by different names. If you want to identify a virus in order to
- ask for help, it is best to run at least two scanners on it and, when
- asking, say which scanners, and what versions, gave the names.) To
- help identify problems early, run it on new programs and diskettes;
- when an integrity checker reports a mismatch, when a generic
- monitoring program sounds an alarm; or when you receive an updated
- version of a scanner (or a different scanner than the one you have
- been using). However, because of the time required, it is not
- generally advisable to insert into your AUTOEXEC.BAT file a command to
- run a scanner on an entire hard disk on every boot.
-
- If you run into an alarm that the scanner doesn't identify, or
- doesn't properly clean up for you, first verify that the version that
- you are using is the most recent, and then get in touch with one of
- the reputable antivirus researchers, who may ask you to send a copy
- of the infected file to him. See also question C10.
-
-
- C3) What is the best way to remove a virus?
-
- In order that downtime be short and losses low, do the minimum that
- you must to restore the system to a normal state, starting with
- booting the system from a clean diskette. It is very unlikely that
- you need to low-level reformat the hard disk!
-
- If backups of the infected files are available and appropriate care
- was taken when making the backups (see D10), this is the safest
- solution, even though it requires a lot of work if many files are
- involved.
-
- More commonly, a disinfecting program is used. If the virus is a boot
- sector infector, you can continue using the computer with relative
- safety if you boot it from a clean system diskette, but it is wise to
- go through all your diskettes removing infection, since sooner or
- later you may be careless and leave a diskette in the machine when it
- reboots. Boot sector infections on PCs can be cured by a two-step
- approach of replacing the MBR (on the hard disk), either by using a
- backup or by the FDISK/MBR command (from DOS 5 and up), then using the
- SYS command to replace the DOS boot sector.
-
-
- C4) What does the <insert name here> virus do?
-
- If an anti-virus program has detected a virus on your computer, don't
- rush to post a question to this list asking what it does. First, it
- might be a false positive alert (especially if the virus is found only
- in one file), and second, some viruses are extremely common, so the
- question "What does the Stoned virus do?" or "What does the Jerusalem
- virus do?" is asked here repeatedly. While this list is monitored by
- several anti-virus experts, they get tired of perpetually answering
- the same questions over and over again. In any case, if you really
- need to know what a particular virus does (as opposed to knowing
- enough to get rid of it), you will need a longer treatise than could
- be given to you here.
-
- For example, the Stoned virus replaces the disk's boot record with its
- own, relocating the original to a sector on the disk that may (or may
- not) occur in an unused portion of the root directory of a DOS
- diskette; when active, it sits in an area a few kilobytes below the
- top of memory. All this description could apply to a number of common
- viruses; but the important points of where the original boot sector
- goes - and what effect that has on networking software, non-DOS
- partitions, and so on are all major questions in themselves.
-
- Therefore, it is better if you first try to answer your question
- yourself. There are several sources of information about the known
- computer viruses, so please consult one of them before requesting
- information publicly. Chances are that your virus is rather well known
- and that it is already described in detail in at least one of these
- sources. (See the answer to question A7, for instance.)
-
-
- C5) What are "false positives" and "false negatives"?
-
- A FALSE POSITIVE (or Type-I) error is one in which the anti-viral
- software claims that a given file is infected by a virus when in
- reality the file is clean. A FALSE NEGATIVE (or Type-II) error is one
- in which the software fails to indicate that an infected file is
- infected. Clearly false negatives are more serious than false
- positives, although both are undesirable.
-
- It has been proven by Dr. Fred Cohen that every virus detector must
- have either false positives or false negatives or both. This is
- expressed by saying that detection of viruses is UNDECIDABLE.
- However his theorem does not preclude a program which has no false
- negatives and *very few* false positives (e.g. if the only false
- positives are those due to the file containing viral code which is
- never actually executed, so that technically we do not have a virus).
-
- In the case of virus scanners, false positives are rare, but they can
- arise if the scan string chosen for a given virus is also present in
- some benign programs because the string was not well chosen. False
- negatives are more common with virus scanners because scanners will
- miss a completely new or a heavily modified virus.
-
- One other serious problem could occur: A positive that is misdiagnosed
- (e.g., a scanner that detects the Empire virus in a boot record but
- reports it as the Stoned). In the case of a boot sector infector, use
- of a Stoned specific "cure" to recover from the Empire could result in
- an unreadable disk or loss of extended partitions. Similarly,
- sometimes "generic" recovery can result in unusable files, unless a
- check is made (e.g. by comparing checksums) that the recovered file is
- identical to the original file. Some more recent products store
- information about the original programs to allow verification of
- recovery processes.
-
-
- C6) Could an anti-viral program itself be infected?
-
- Yes, so it is important to obtain this software from good sources, and
- to trust results only after running scanners from a "clean" system.
- But there are situations where a scanner appears to be infected when
- it isn't.
-
- Most antiviral programs try very hard to identify only viral
- infections, but sometimes they give false alarms. If two different
- antiviral programs are both of the "scanner" type, they will contain
- "signature strings" to identify viral infections. If the strings are
- not "encrypted", then they will be identified as a virus by another
- scanner type program. Also, if the scanner does not remove the
- strings from memory after they are run, then another scanner may
- detect the virus string "in memory".
-
- Some "change detection" type antiviral programs add a bit of code or
- data to a program when "protecting" it. This might be detected by
- another "change detector" as a change to a program, and therefore
- suspicious.
-
- It is good practice to use more than one antiviral program. Do be
- aware, however, that antiviral programs, by their nature, may confuse
- each other.
-
-
- C7) Where can I get a virus scanner for my Unix system?
-
- Basically, you shouldn't bother scanning for Unix viruses at this
- point in time. Although it is possible to write Unix-based viruses,
- we have yet to see any instance of a non-experimental virus in that
- environment. Someone with sufficient knowledge and access to write an
- effective virus would be more likely to conduct other activities than
- virus-writing. Furthermore, the typical form of software sharing in
- an Unix environment would not support virus spread.
-
- This answer is not meant to imply that viruses are impossible, or that
- there aren't security problems in a typical Unix environment -- there
- are. However, true viruses are highly unlikely and would corrupt file
- and/or memory integrity. For more information on Unix security, see
- the book "Practical Unix Security" by Garfinkel and Spafford, O'Reilly
- & Associates, 1991 (it can be ordered via e-mail from nuts@ora.com).
-